package com.ssy.lingxi.marketing.service;

import com.ssy.lingxi.common.model.dto.UserLoginCacheDTO;
import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.marketing.model.vo.coupon.request.ActivityPageCouponDetailRequest;
import com.ssy.lingxi.marketing.model.vo.coupon.request.ActivityPageMerchantCouponRequest;
import com.ssy.lingxi.marketing.model.vo.coupon.response.ActivityPageCouponDetailResponse;
import com.ssy.lingxi.marketing.model.vo.coupon.response.ActivityPageCouponPageResponse;

import java.util.List;

/**
 * 平台、商家活动页优惠券服务类
 * @author yzc
 * @version 2.0.0
 * @date 2021/8/13
 */
public interface IActivityPageCouponService {

    /**
     * 平台营销活动页 - 选择平台优惠券
     * @return 返回结果
     */
    Wrapper<PageData<ActivityPageCouponPageResponse>> pagePlatformActivityPagePlatformCoupon(ActivityPageMerchantCouponRequest request, UserLoginCacheDTO loginUser);

    /**
     * 平台营销活动页 - 选择商家优惠券
     * @return 返回结果
     */
    Wrapper<PageData<ActivityPageCouponPageResponse>> pagePlatformActivityPageMerchantCoupon(ActivityPageMerchantCouponRequest request, UserLoginCacheDTO loginUser);

    /**
     * 商家营销活动页 - 选择商家优惠券
     * @return 返回结果
     */
    Wrapper<PageData<ActivityPageCouponPageResponse>> pageMerchantActivityPageMerchantCoupon(ActivityPageMerchantCouponRequest request, UserLoginCacheDTO loginUser);

    /**
     * 平台活动页 - 优惠券详情
     * @return 返回结果
     */
    Wrapper<List<ActivityPageCouponDetailResponse>> listPlatformActivityPageCouponDetail(ActivityPageCouponDetailRequest request, UserLoginCacheDTO loginUser);

    /**
     * 商家活动页 - 优惠券详情
     * @return 返回结果
     */
    Wrapper<List<ActivityPageCouponDetailResponse>> listMerchantActivityPageCouponDetail(ActivityPageCouponDetailRequest request, UserLoginCacheDTO loginUser);
}
